package com.itheima.hw.test1;

import cn.hutool.core.io.FileUtil;

import java.io.File;
import java.io.IOException;

public class Test {

    public static  void  searchFile(File dir) throws IOException {
        //0.校验目录是否合法
        if(dir ==null ||  !dir.exists()  ||  !dir.isDirectory()){
            return;
        }

        //1.获取文件下所有一级文件：listFiles()
        File[] files = dir.listFiles();

        if(files != null && files.length > 0){
            //2.遍历所有一级文件，获取当前文件
            for (File file : files) {
                //2.1 判断是否是文件
                if(file.isFile()){
                    System.out.println( "判断文件："+file.getName());
                    //判断是否查找的文件
                    if(file.getName().endsWith(".java")){
                        System.out.println("找到了，文件路径："+file.getAbsolutePath());

                        FileUtil.copy(file,new File("d:\\copys\\"+file.getName().replace(".java", ".txt")),true);
                    }
                }else{
                    System.out.println("递归文件夹："+file.getName());
                    //2.2 判断是否目录
                    //递归调用，重复上述操作
                    searchFile(file);
                }
            }
        }
    }





    public static void main(String[] args) throws IOException {
        searchFile(new File("D:\\javabase_ws\\JavaAdvanceProject\\day11_io\\src\\com\\itheima\\d11_serializable"));
        System.out.println("over");

    }
}
